package com.kehutong.payfees.entity;

import java.math.BigDecimal;

import com.kehutong.common.entity.DataEntity;
import com.kehutong.payfees.enums.*;
import org.coraframework.json.annotation.JSONField;
import org.coraframework.orm.annotation.Column;
import org.coraframework.orm.annotation.Table;

@Table(value = "t_charge_choose", comment="费项标准", multi = true)
public class ChargeChoose extends DataEntity {

    private static final long serialVersionUID = -1601119890723794287L;

    protected ChargeChoose(String id) {
        super(id);
    }

    @Column(comment = "小区编号")
    private String communityNo;

    @Column(comment = "小区名称")
    private String communityName;

    @Column(comment = "收费科目ID")
    private String feeTypeId;

    @Column(comment = "收费科目")
    private String feeTypeName;

    @Column(comment = "标准ID")
    private String standardId;

    @Column(comment = "标准名称")
    private String standardName;

    @Column(comment = "仪表ID")
    private String instrumentId;

    @Column(comment = "仪表编号")
    private String instrumentNo;

    @Column(comment = "仪表类型Id")
    private String instrumentTypeId;

    @Column(comment = "仪表类型名称")
    private String instrumentTypeName;

    @Column(length = 64, comment = "栋名称")
    private String buildingName;
    @Column(comment = "栋编号")
    private String buildingNo;

    @Column(length = 64, comment = "单元名(可为空)")
    private String unitName;

    @Column(comment = "楼层名")
    private String floorName;

    @Column(comment = "房屋信息")
    private String houseName;
    @Column(comment = "房屋编号")
    private String houseNo;

    @Column(comment="业主姓名")
    private String ownerName;

    @Column(comment = "启用状态")
    private BillEnableState enableState;

    @Column(comment = "计费方式")
    private ChargeModeType chargeMode;

    @Column(comment = "选用类型")
    private ChooseType chooseType;

    @Column(comment = "数量")
    private BigDecimal amount;

    @Column(comment = "单价")
    private BigDecimal price;

    @Column(comment = "金额")
    private BigDecimal total;

    @Column(comment = "得数精度方式")
    private ComputeType computeType;

    @Column(comment = "得数精度单位")
    private UnitPrice unitPrice;

    @JSONField(serialize = false)
    @Column(comment = "逻辑删除")
    private boolean deleted;

    public String getCommunityNo() {
        return communityNo;
    }

    public void setCommunityNo(String communityNo) {
        this.communityNo = communityNo;
    }

    public String getFeeTypeId() {
        return feeTypeId;
    }

    public void setFeeTypeId(String feeTypeId) {
        this.feeTypeId = feeTypeId;
    }

    public String getStandardId() {
        return standardId;
    }

    public void setStandardId(String standardId) {
        this.standardId = standardId;
    }

    public String getInstrumentNo() {
        return instrumentNo;
    }

    public void setInstrumentNo(String instrumentNo) {
        this.instrumentNo = instrumentNo;
    }

    public String getInstrumentTypeId() {
        return instrumentTypeId;
    }

    public void setInstrumentTypeId(String instrumentTypeId) {
        this.instrumentTypeId = instrumentTypeId;
    }

    public String getBuildingNo() {
        return buildingNo;
    }

    public void setBuildingNo(String buildingNo) {
        this.buildingNo = buildingNo;
    }

    public String getHouseName() {
        return houseName;
    }

    public void setHouseName(String houseName) {
        this.houseName = houseName;
    }

    public String getOwnerName() {
        return ownerName;
    }

    public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }

    public BillEnableState getEnableState() {
        return enableState;
    }

    public void setEnableState(BillEnableState enableState) {
        this.enableState = enableState;
    }

    public ChargeModeType getChargeMode() {
        return chargeMode;
    }

    public void setChargeMode(ChargeModeType chargeMode) {
        this.chargeMode = chargeMode;
    }

    public ChooseType getChooseType() {
        return chooseType;
    }

    public void setChooseType(ChooseType chooseType) {
        this.chooseType = chooseType;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getTotal() {
        return total;
    }

    public void setTotal(BigDecimal total) {
        this.total = total;
    }

    public boolean isDeleted() {
        return deleted;
    }

    public void setDeleted(boolean deleted) {
        this.deleted = deleted;
    }

    public String getBuildingName() {
        return buildingName;
    }

    public void setBuildingName(String buildingName) {
        this.buildingName = buildingName;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public String getHouseNo() {
        return houseNo;
    }

    public void setHouseNo(String houseNo) {
        this.houseNo = houseNo;
    }

    public String getCommunityName() {
        return communityName;
    }

    public void setCommunityName(String communityName) {
        this.communityName = communityName;
    }

    public String getFeeTypeName() {
        return feeTypeName;
    }

    public void setFeeTypeName(String feeTypeName) {
        this.feeTypeName = feeTypeName;
    }

    public String getStandardName() {
        return standardName;
    }

    public void setStandardName(String standardName) {
        this.standardName = standardName;
    }

    public String getInstrumentTypeName() {
        return instrumentTypeName;
    }

    public void setInstrumentTypeName(String instrumentTypeName) {
        this.instrumentTypeName = instrumentTypeName;
    }

    public String getInstrumentId() {
        return instrumentId;
    }

    public void setInstrumentId(String instrumentId) {
        this.instrumentId = instrumentId;
    }

    public ComputeType getComputeType() {
        return computeType;
    }

    public void setComputeType(ComputeType computeType) {
        this.computeType = computeType;
    }

    public UnitPrice getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(UnitPrice unitPrice) {
        this.unitPrice = unitPrice;
    }

    public String getFloorName() {
        return floorName;
    }

    public void setFloorName(String floorName) {
        this.floorName = floorName;
    }
}
